perm filename MINTRO.PUB[HAL,HE]5 blob
sn#132158 filedate 1974-11-24 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .NEWSEC AN OVERVIEW OF 'AL
C00008 ENDMK
Cā;
.NEWSEC AN OVERVIEW OF 'AL
.NEWSS INTRODUCTION
The development of robot manipulators such as the "Unimate" has led
to the belief that these tools are in some way general-purpose
devices and that they might be programmed like a computer. As a
general-purpose programmable device, the robot manipulator would
provide an answer to the need for automation of assembly in batch
manufacturing industries where small production runs eliminate the
possibility of special-purpose equipment to increase productivity.
If these robots are to be programmed, a language which describes their
actions must be developed. This document describes such a language based
on the language "WAVE" developed at the Stanford Artificial
Intelligence Laboratory during the last 5 years.
The aim of this work is not to provide a "hands on" factory floor
programming system but rather an experimental laboratory tool for
investigating the difficulty, necessary programming time, and
feasibility of writing programs to control assembly operations.
We are designing a system for small scale batch manufacturing where
setup time is the key factor. We will rely on a symbolic database
and previously defined assembly primitives to minimize the
programming time. The system will be capable of top level planning
and the intelligent interpretation of user defined primitives.
The batch manufacturing environment is fairly structured; we will
make use of this fact to do as much computation as possible before an
assembly begins. Such computation can be done offline and in
connection with the data base; during this phase, time will be spent
optimizing each operation. By performing this computation prior to
the assembly, the amount of computation that the robot must perform
for each assembly is reduced.
This new language "'AL" transforms the machine-language style of
program of "WAVE" with skips and jumps into a structured language
resembling Algol. The facility to work in many different coordinate
systems and to evaluate general expressions is added. The new
language will provide for the simultaneous control of more than one
robot either asynchronously or cooperatively. Macro-like routines may
be defined to express general-purpose assembly primitives which will
be conditionaly expanded at compile time. Additional data may be
added to these routines to enable a top level strategy program to use
these routines to accomplish entire assembly operations.
The language will allow a task to be specified at several different
levels of detail, ranging from very explicit and detailed manipulator
control programs to programs written in terms of "high-level" assembly
operators which the system will then translate into manipulator
control programs. When used in this latter mode, the system makes
extensive use of its planning model, together with a progressive
refinement strategy in order to produce a consistent and efficient
output program.
The system itself is written in the high level language "SAIL" to
facilitate modification and change. We expect to modify the language
on a day-to-day basis as we start to use it and gain experience. We
will implement the language as it is defined in this document, and
based on experience we will modify it to obtain a better system.